home *** CD-ROM | disk | FTP | other *** search
- Miloslaw Smyk wrote:
-
- > Nie by³o mnie przez dwa dni, a kiedy wróci³em moja skrzynka pocztowa by³a
- > zawalona spekulacjami na temat testowej procedury Darka ¦mietany. Poniewa¿
- > wyra¿ane opinie by³y dosyæ skrajne i g³ównie koncentrowa³y siê na
- > przyalignowaniu (b±d¼ nie) struktur, na których operuje move16 do granicy
- > 16-tu bajtów, przyjrzyjmy siê wspólnie co siê tam w³a¶ciwie dzieje:
-
- Fragment kodu zrodlowego testu wyslalem na liste, aby uswiadomic tym, ktorzy
- znaja sie cokolwiek na asemblerze, jak banalny i chodzacy na kazdej karcie
- 68040/060 program (040test), wywraca sie na niektorych egzemplarzach kart PPC.
- A tu kolejny programista szuka dziury w calym.
-
- Wyjasnie pewna wlasciwosc instrukcji move16:
- Instrukcja ta przesyla 4 longi pomiedzy obszarami adresowanymi w taki sposob,
- ze pierwszy z 4 kolejnych adresow zrodla i celu ma najnizsze 4 bity adresowe
- rowne zeru.
- To co ustawisz na 2 i 3 bicie adresu zrodla i celu nie ma najmniejszego
- znaczenia dla sposobu wykonania sie tej instrukcji, jest ignorowane
- przez procesor, ktory zawsze dla pierwszego longa zamienia te bity na niskie
- stany linii adresowych. Dla nastepnych 3 longow procesor automatycznie
- inkrementuje stan tych linii adresowych. Oznacza to oczywiscie, ze w przypadku
- tej instrukcji zawartosc rejestrow adresowych nie musi byc zgodna z adresem
- danych.
-
- W programie tym adresy dla instrukcji move16 sa, wbrew temu co sadzisz,
- przygotowane prawidlowo. To co wziales za "przyalignowanie" w tym tescie
- jest akurat fragmentem kodu potrzebnego do czegos zupelnie innego. (Wysylajac
- na liste kod zrodlowy napisalem bardzo wyraznie, ze jest to uproszczona
- wersja bardziej rozbudowanego programu, i w kodzie zostalo troche rzeczy
- z tego programu.)
-
- Napisales, ze w 50% wykonan tego testu adres jest "alignowany" wg. Ciebie
- niewlasciwie, a potem napisales, ze ten test nie robi u Ciebie krzakow.
- Nie zauwazyles, ze gdyby to "alignowanie" mialo dzialac tak jak sadzisz,
- to ten test by u Ciebie w 50% przypadkow nie przechodzil?
-
- Pozdrowienia,
- SmietA
-
-